Multicast over wireless networks enables the distribution of data such as live video or prerecorded entertainment programs to many receivers efficiently. One example of multicast is the redistribution of several TV programs or location specific video information in hot spots such as airports over an IEEE 802.11 wireless local area network (WLAN). The users of receivers can watch their favorite TV programs on the mobile devices while browsing the Internet. Other applications include movie previews outside cinemas, replaying of the most important scenes from a football game, etc. over wireless networks. As used herein, a mobile device includes end devices, client devices, mobile terminals, laptops, dual mode smart phones, personal digital computers, etc.
The error rate is usually high in wireless networks. For multicast, the wireless link layer generally does not perform retransmission of lost packets. The data frames are discarded at the receiver in the event of an error. The required reliability cannot then be guaranteed to the receivers without excellent receiving conditions. Furthermore, in a video multicast application, the receivers for the same video may experience different channel conditions and the channel condition for a receiver may vary at different times due to multipath fading, shadowing, interference and mobility. New receivers may join during the session or some receivers may leave so that the network topology of receivers changes. Therefore, additional error protection mechanisms are required to provide satisfying and reliable quality of services for receivers within the serving area while efficiently utilizing the available wireless bandwidth. To achieve reliable wireless multicast operation, one of the effective approaches is to employ forward error correction (FEC) codes at the application layer.
In some reported systems, a fixed FEC code is selected to satisfy a target quality for the receiver with the worst channel conditions (i.e., the highest loss rate) in the serving area. With this approach, the fixed FEC code (for example, a fixed Reed-Solomon (RS) code) is applied across the information source packets at the application layer to generate the parity packets. The parity packets are transmitted with the information source packets and are used to recover the lost information source packets. With the above approach, the FEC code is fixed and applied even if all the receivers have good channel conditions. Unnecessary FEC parity packets introduce high overhead so that the bandwidth efficiency is reduced. Adaptive FEC has been used in unicast systems. The FEC code rate is adapted according to the channel conditions of the single receiver. In the present invention, multicast applications are considered. Multiple receivers of the same source may experience different packet loss rates at the same time, and the same receiver may also experience different packet loss rates at different times. The receiving qualities at different receivers or the same receiver, at different times, differ. Furthermore, receivers may join or leave the multicast group.
The problem to be solved in the present invention is to select and adapt the FEC code parameters. It would be advantageous to design an effective adaptive FEC method. In order to design an effective adaptive FEC method three problems need to be addressed (1) how to estimate the channel conditions of multiple receivers in multicast (2) how to provide the channel condition feedback (3) how to adapt the FEC rate based on the channel status of multiple receivers.